In an effort to help clarify the issues surrounding IIci compatibility, I have put together a detailed report explaining both the causes behind some of the problems people are experiencing and what is being done about them. This Link is a summary of that report. To see the full, detailed report, read the file “IIci Compatibility Report” in this folder.
The majority of the modifications that third-party developers are
having to make to support the IIci are changes that are going to be
necessary to support future CPUs and future versions of the Macintosh
operating system.
• Addressing changes necessary to support non-contiguous memory
and the utilization of the PMMU are changes that will be required
to run correctly with VM in System 7.0.
• 32-bit QuickDraw will be built into all future ROMs which
offer color support.
• The built-in video monitor identification scheme will be included in
future CPUs and is also part of our new video cards.
• Changes to the ADB manager and the video configuration (i.e.
gamma correction table) will both be included in future systems
• And, the fact that Apple will design systems that run at greater
than 16Mhz is obvious.
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ THE LEADING CAUSES ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
A significant number of IIci compatability problems are related to the improvements outlined below. Keep in mind that the majority of applications were not effected by these changes and of those that were most have been corrected.
1) Non-contiguous memory - “Get physical!”
The move to non-contiguous memory in the IIci was implemented to provide
a greater degree of flexibility when configuring the system with memory.
The implication of this change to a developer is that a specific logical
address no longer corresponds to a specific physical address in RAM.
This change affected a small subset of developers designing Nubus master
cards. In order to work correctly with non-contiguous memory these
developers were required to rewrite their drivers to do logical to physical
address mapping, (which meant incorporating a call named “GetPhysical”).
2) Utilizing the PMMU - “No more bad addresses!”
In previous Macintosh systems it was possible for an application to request
access to an invalid address. There was no mechanism for evaluating the
validity of an address being requested before it was passed on to the
memory controller. With the IIci, the PMMU on the 68030 performs this
evaluation and signals a bus error when an invalid address is requested.
This change revealed a wide range of problems with third-party
applications, CDEVs, INITs, DAs, and drivers.
IMPORTANT NOTE
The incompatibility of version 3.0 of Apple’s CD-ROM driver and the
incompatibility of version 2.3 of MacTerminal are both attributable to this
change.
3) 32-bit QuickDraw in ROM - “No longer an option”
The Macintosh IIci was the first CPU to incorporate 32-bit QuickDraw in
ROM. Machines prior to the ci could optionally upgrade to 32-bit QuickDraw
via a system INIT file in RAM. Although 32-bit QuickDraw was engineered for
high compatibility with original QuickDraw and Color QuickDraw programmer’s
interfaces, certain programming practices could lead to problems with this
new software. Users of the 32-bit QuickDraw INIT could optionally
deactivate the software if there proved to be a compatibility problem.
Because 32-bit QuickDraw is in ROM on the ci, it cannot be defeated.
This change meant that certain paint and image processing applications had
to be modified. In addition, the location of 32 bit QuickDraw in ROM (vs.
RAM) meant that drivers for a handful of third-party video cards had to be
modified.
4) Self-configuring built-in video - “What's connected?”
One of the features of the IIci’s built-in video design is the fact that it
is self configuring, which means that all the user has to do is plug his
display into the video port and the system automatically recognizes what
is attached and configures itself accordingly. This feature required that
three of the 15 pins within the video connector be designated for monitor
identification.
This additional specification meant that certain third party CRT vendors,
along with certain vendors of large screen projection systems and LCD
displays were required to modify their designs.
5) ADB manager change - “My lock doesn’t work”
In an effort to reinforce the ADB standard, protocols surrounding the
polling of ADB devices were more explicitly defined. Clarifying the rules
surrounding the polling process meant that certain developers
had to modify their designs.
This change primarily affected developers who utilize an ADB lock as a
form of copy protection.
6) Gamma correction table setting - “Why is my screen so dark?”
Since their introductions, all Macintosh II systems perform color
correction, commonly called ‘gamma correction’, on video displays to
compensate for non-linearity in the monitor’s phosphor response. The effect
of a proper gamma table is to make a monitor appear brighter and colors
more vivid. Due to a change in the way the IIci handles the gamma
correction data there are a number of third-party displays which end up
uncorrected.
As a result, these displays tend to look darker when connected to the IIci.
In order to help developers effected by this change, Developer Technical
Support is making avilable source code to an INIT that will allow
developers to load the appropriate gamma table information.
7) 25Mhz Clockspeed - “Too fast”
Certain applications were designed around the assumption that a call to a
particular chip or location in memory would be returned within a given
interval of time. Those developers who made this assumption ensured that
their product would break when Apple introduced a higher clockspeed system.
The IIci turned out to be that higher speed system.
This change affected a small number of developers who had instituted
timing-dependent copy protection schemes and developers who designed
timing-dependent games.
∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞ ROM RELATED ISSUES ∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞∞
In addition to those problems related to improvements in the IIci design there were also minor problems related to a handful of bugs discovered in the IIci ROM. These changes have been corrected through bug fixes incorporated into the 6.05 release of system software.
1) Palette Manager
There was a patch file for the palette manager which failed to be included
in the final IIci ROM. By not including this patch, certain paint and image
processing applications ended up performing incorrectly.
2) Zero-Width Characters
This is a bug which was inadvertently introduced in the IIci ROM, which
causes zero-width characters (used for musical notation, mathematical
notation and Kanji and Arabic script) not to be drawn. This caused
particular problems for developers doing musical typesetting and some
mathematics programs.
3) Serial Driver
Due to an anomaly in the serial driver code, whenever a IIci is being used
with a modem and a “break” character is returned during a communications
session the system will crash or hang. This does not occur frequently, but
does occasionally occur when for instance a user is engaged in a session
with one of the remote information services.
4) TextEdit
There were a handful of bugs in TextEdit which were incorporated in the
IIci ROM. The majority of these problems are cosmetic and they have also
been corrected in 6.05.
IMPORTANT NOTE:
System Software 6.05 is shipping with all new Macintosh computers including the IIci. It is also available through all Authorized Apple Resellers, AppleLink and other electronic bulletin boards.
This Link and the accompanying report are intended to promote a better understanding of the issues surrounding IIci compatibility, and encourage an appreciation of the fact that the majority of the modifications necessary to support the IIci are modifications that will be required to support future versions of the O/S as well as future CPUs. The Macintosh IIci should not be viewed as an ill-behaved exception, but instead as a machine that is contributing to the evolution of the Macintosh technology.
The good news is that the majority of third-party applications run perfectly fine on the IIci. And, among the small number of third-party compatibility problems related to the IIci most have been revealed, and if they have not already been corrected they are in the process of being corrected.
If you are interested in more detailed information regarding the issues covered in this memo please refer to the disk file “IIci Compatibility Report”, in this folder. You will find the IIci Third Party Compatibility Listhere, too. This list, posted by both company and by product name as AppleLink Image files, was gathered through a survey of the leading Macintosh third-party developers and includes over 350 of the leading hardware and software products, all of which are compatible with the IIci.
Once again, I hope this report will contribute to your understanding of the IIci and in so doing strengthen your confidence in the product. It is critical that we move customers beyond any concerns they may have regarding IIci compatibility and focus their attention on the outstanding features the product has to offer. If you have any questions please feel free to send me an AppleLink message at MARK.ORR.